PofEAAではActive Recordは過渡期の捨て駒で本命はData Mapperだった
#PofEAA #ActiveRecord #Data_Mapper #CoC(設定より規約) #技術の螺旋
@takahashim: Railsの場合、レール≒規約に乗ることで設計をある程度さぼれるのは便利ではあるけど、設計手法を衰退させることにつながってしまった元凶みたいな側面もあるので難しい(けど設計好きな人は無駄に複雑な設計を導入しがちなのでアンチテーゼとしては重要だったという側面は評価せざるをえない)
@takahashim: PoEAAを今読むと、Active Recordは単なる過渡期の捨て駒でしかなくて、本命はあくまでData Mapperであり、まともで安価なData Mapperが出ればActive Recordは捨てられるはずみたいな雰囲気なのは割と驚くかもしれない
@takahashim: それは結局、永続化ストレージとしてのDBを自分が掌握してしまえば複雑なmapperはなくても戦える、というRailsの判断があったようにも思うので、その意味ではDB Migration機能がRailsの秘密だったのかもしれない
koushisa.icon
---
永続化ストレージとしてのDBを自分が掌握
DBを自分が掌握 = モデルの単位をテーブルにする
本来精緻にユーザーのメンタルモデルをシステムに落とし込むならば参照か更新かのどちらかしかない
クエリ(ユースケースとニーズ)毎にデータモデルは違うはずで、それを表現するのはData Mapperのほうが向いているよねという話
ドメインモデルの内部には、永続化にまつわる情報を混入させるべきではない
DB Migration機能がRailsの秘密だったのかもしれない
関連
modelという抽象ではなく参照か更新かで分けたい
PrismaのmigrationとRailsのmigrationの比較理解